std::make | 您所在的位置:网站首页 › cout 头文件 › std::make |
C++
语言
标准库头文件
自立与有宿主实现
具名要求
语言支持库
概念库 (C++20)
诊断库
工具库
字符串库
容器库
迭代器库
范围库 (C++20)
算法库
数值库
本地化库
输入/输出库
文件系统库 (C++17)
正则表达式库 (C++11)
原子操作库 (C++11)
线程支持库 (C++11)
技术规范
工具库
语言支持
类型支持(基本类型、 RTTI 、类型特征)
库功能特性测试宏 (C++20)
动态内存管理
程序工具
错误处理
协程支持 (C++20)
变参数函数
launder(C++17)
initializer_list(C++11)
source_location(C++20)
三路比较 (C++20)
three_way_comparablethree_way_comparable_with(C++20)(C++20)
strong_ordering(C++20)
weak_ordering(C++20)
partial_ordering(C++20)
common_comparison_category(C++20)
compare_three_way_result(C++20)
compare_three_way(C++20)
strong_order(C++20)
weak_order(C++20)
partial_order(C++20)
compare_strong_order_fallback(C++20)
compare_weak_order_fallback(C++20)
compare_partial_order_fallback(C++20)
is_eqis_neqis_ltis_lteqis_gtis_gteq(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
通用工具
日期和时间
函数对象
格式化库 (C++20)
bitset
hash(C++11)
integer_sequence(C++14)
关系运算符 (C++20 中弃用)
rel_ops::operator!=rel_ops::operator>rel_ops::operator=
整数比较函数
cmp_equalcmp_not_equalcmp_lesscmp_greatercmp_less_thancmp_greater_than(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
in_range(C++20)
swap 与类型运算
swap
ranges::swap(C++20)
exchange(C++14)
declval(C++11)
forward(C++11)
move(C++11)
move_if_noexcept(C++11)
as_const(C++17)
常用词汇类型
pair
tuple(C++11)
apply(C++17)
make_from_tuple(C++17)
optional(C++17)
any(C++17)
variant(C++17)
初等字符串转换
to_chars(C++17)
from_chars(C++17)
chars_format(C++17)
std::tuple
成员函数
tuple::tuple
tuple::operator=
tuple::swap
非成员函数
make_tuple
tie
forward_as_tuple
tuple_cat
operator==operator!=operator=operator(C++20 前)(C++20 前)(C++20 前)(C++20 前)(C++20 前)(C++20)
std::swap
get
推导指引(C++17)
辅助类
tuple_size
tuple_element
uses_allocator
ignore
定义于头文件
template
tuple make_tuple( Types&&... args );
(C++11 起) (C++14 前)
template
constexpr tuple make_tuple( Types&&... args );
(C++14 起)
创建 tuple 对象,从参数类型推导目标类型。 对于每个 Types... 中的 Ti , Vtypes... 中的对应类型 Vi 为 std::decay::type ,除非应用 std::decay 对某些类型 X 导致 std::reference_wrapper ,该情况下推导的类型为 X& 。 参数 args - 构造 tuple 所用的零或更多参数 返回值含给定值的 std::tuple 对象,如同用 std::tuple(std::forward(t)...). 创建 可能的实现 template struct unwrap_refwrapper { using type = T; }; template struct unwrap_refwrapper { using type = T&; }; template using special_decay_t = typename unwrap_refwrapper::type; template auto make_tuple(Types&&... args) { return std::tuple(std::forward(args)...); } 示例 运行此代码 #include #include #include std::tuple f() // 此函数返回多值 { int x = 5; return std::make_tuple(x, 7); // return {x,7}; 于 C++17 } int main() { // 异类 tuple 构造 int n = 1; auto t = std::make_tuple(10, "Test", 3.14, std::ref(n), n); n = 7; std::cout |
CopyRight 2018-2019 实验室设备网 版权所有 |